Femtocell calibration for timing based locating systems

ABSTRACT

Systems and methods disclosed herein can implement a femtocell calibration solution that uses the known location of the femtocell to calibrate timing based locating systems. The calculated time differences of different signals sent between macrocells and a mobile device can be used to solve for a reference time difference that accounts for the timing differences of the unsynchronized macrocells. The reference time difference can then be used to solve for the location of another mobile device if the calculated time differences between that mobile device and the macrocells are known. The solution can include taking many measurements of the calculated time difference at the first mobile device in order to average them to get a more accurate reference time difference. The solution can further include ceasing measurements at the first mobile device when the mobile device is no longer within range of the femtocell.

TECHNICAL FIELD

The subject disclosure relates to wireless communications, and, more particularly, to calibrating timing based locating systems using femtocells in a wireless environment.

BACKGROUND

Accurately locating mobile devices that are active on a network is beneficial not just to mobile device users, but also to network operators. If the network operators know the precise locations of the mobile devices, many services can be offered that would not otherwise be possible. Such services can include: dynamic provisioning of coupons as mobile device users pass in front of retail stores; marketing; analyzing traffic flow and routes; and analyzing network performance issues. Network performance issues can include poor coverage areas and dropped calls. Knowing the precise location of where network performance issues are occurring can be beneficial in troubleshooting and solving the issues.

SUMMARY

The following presents a simplified summary of the specification in order to provide a basic understanding of some aspects of the specification. This summary is not an extensive overview of the specification. It is intended to neither identify key or critical elements of the specification nor delineate any scope particular embodiments of the specification, or any scope of the claims. Its sole purpose is to present some concepts of the specification in a simplified form as a prelude to the more detailed description that is presented later. It will also be appreciated that the detailed description may include additional or alternative embodiments beyond those described in this summary.

In various non-limiting embodiments, systems and methods are provided to calibrate timing measurements from macrocells to locate mobile devices more accurately. In an example embodiment, a method comprises identifying a first mobile device in range of a femtocell access point and obtaining location information from the femtocell access point. The method can also include receiving calculated time differences of signals between the first mobile device and macrocells in range of the first mobile device and calculating a reference time difference for the macrocells using the location information and the calculated time differences. The method can also include receiving calculated time differences of signals received at a second mobile device and solving for a location of the second mobile device in response to the calculated time differences of signals and the reference time difference of the macrocells.

In another example embodiment, a system can comprise an identification component configured to determine that a first mobile device is within range of a femtocell access point. The system can also comprise a collection component that can be configured to obtain location information from the femtocell access point and the calculated time differences between the first mobile device and macrocells in range of the first mobile device. The system can also comprise a calibration component configured to calculate a reference time difference for the macrocells using the calculated time differences and the location information. The collection component can also be configured to collect calculated time differences of signals between a second mobile device and the macrocells, and a location component can be configured to determine a location of the second mobile device in response to the calculated time differences of signals for the second mobile device and the reference time differences.

The following description and the annexed drawings set forth certain illustrative aspects of the specification. These aspects are indicative, however, of but a few of the various ways in which the principles of the specification may be employed. Other novel features of the specification will become apparent from the following detailed description of the specification when considered in conjunction with the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

Various non-limiting embodiments are further described with reference to the accompanying drawings in which:

FIG. 1 illustrates an example, non-limiting embodiment of a system that can facilitate measuring calculated time differences at a known location in accordance with the subject disclosure.

FIG. 2 illustrates an example, non-limiting embodiment of a system that can calibrate timing based location solutions and create a reference time difference in accordance with the subject disclosure.

FIG. 3 illustrates an example, non-limiting embodiment of a system that can measure calculated time differences at a mobile device in accordance with the subject disclosure.

FIG. 4 illustrates an example, non-limiting embodiment of a system that can locate a mobile device in accordance with the subject disclosure.

FIG. 5 illustrates an example, non-limiting method for calibrating timing based location systems in accordance with the subject disclosure.

FIG. 6 illustrates an example, non-limiting method for locating mobile devices in accordance with the subject disclosure.

FIG. 7 illustrates a block diagram of a User Equipment (UE) suitable for collecting and reporting calculated time differences in accordance with the subject disclosure.

FIG. 8 illustrates a Global System for Mobile Communications (GSM)/General Packet Radio Service (GPRS)/Internet protocol (IP) multimedia network architecture that can employ the disclosed architecture.

FIG. 9 illustrates a block diagram of a computer operable to execute the disclosed communication architecture.

FIG. 10 illustrates an example embodiment of a femtocell access point that can report location information in accordance with the subject disclosure.

DETAILED DESCRIPTION

One or more embodiments are now described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the various embodiments. It may be evident, however, that the various embodiments can be practiced without these specific details, e.g., without applying to any particular networked environment or standard. In other instances, well-known structures and devices are shown in block diagram form in order to facilitate describing the embodiments in additional detail.

Further, the various embodiments can be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement one or more aspects of the disclosed subject matter. An article of manufacture can encompass a computer program accessible from any computer-readable device or computer-readable storage/communications media. For example, computer readable storage media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips . . . ), optical disks (e.g., compact disk (CD), digital versatile disk (DVD) . . . ), smart cards, and flash memory devices (e.g., card, stick, key drive . . . ). Of course, those skilled in the art will recognize many modifications can be made to this configuration without departing from the scope or spirit of the various embodiments.

In addition, the word “example” and/or “exemplary” is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “example” and/or “exemplary” is not necessarily construed as preferred or advantageous over other aspects or designs. Rather, use of the word exemplary is intended to present concepts in a concrete fashion. As used in this application, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise, or clear from context, “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, then “X employs A or B” is satisfied under any of the foregoing instances. In addition, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form.

Moreover, terms like “user equipment,” “mobile station,” “mobile,” subscriber station,” “access terminal,” “terminal,” “handset,” “mobile device,” and similar terminology, refer to a wireless device utilized by a subscriber or user of a wireless communication service to receive or convey data, control, voice, video, sound, gaming, or substantially any data-stream or signaling-stream. The foregoing terms are utilized interchangeably in the subject specification and related drawings. Likewise, the terms “access point,” “base station,” “Node B,” and the like, are utilized interchangeably in the subject application, and refer to a wireless network component or appliance that serves and receives data, control, voice, video, sound, gaming, or substantially any data-stream or signaling-stream from a set of subscriber stations. Data and signaling streams can be packetized or frame-based flows.

Furthermore, the terms “user,” “subscriber,” “customer,” and the like are employed interchangeably throughout the subject specification, unless context warrants particular distinction(s) among the terms. It should be appreciated that such terms can refer to human entities or automated components supported through artificial intelligence (e.g., a capacity to make inference based on complex mathematical formalisms), which can provide simulated vision, sound recognition and so forth. In addition, the terms “data flow,” “data session,” and the like are also employed interchangeably throughout the subject specification, unless context warrants particular distinction(s) among the terms.

The systems and methods disclosed herein can implement a femtocell calibration solution that uses the known location of the femtocell to calibrate timing based locating systems. The calculated time differences of different signals sent between macrocells and a mobile device can be used to solve for a reference time difference that accounts for the timing differences of the unsynchronized macrocells. The reference time difference can then be used to solve for the location of another mobile device if the calculated time differences between that mobile device and the macrocells are known. The solution can include taking many measurements of the calculated time difference at the first mobile device in order to average them to get a more accurate reference time difference. The solution can further include ceasing measurements at the first mobile device when the mobile device is no longer within range of the femtocell.

Aspects or features of the subject innovation can be exploited in substantially any wireless communication technology; e.g., Universal Mobile Telecommunications System (UMTS), Code division multiple access (CDMA), Wi-Fi, Worldwide Interoperability for Microwave Access (WiMAX), General Packet Radio Service (GPRS), Enhanced GPRS, Third Generation Partnership Project (3GPP) Long Term Evolution (LTE), Third Generation Partnership Project 2 (3GPP2) Ultra Mobile Broadband (UMB), High Speed Packet Access (HSPA), Evolved High Speed Packet Access (HSPA+), High-Speed Downlink Packet Access (HSDPA), High-Speed Uplink Packet Access (HSUPA), Zigbee, or another IEEE 802.XX technology. Additionally, substantially all aspects of the subject innovation can be exploited in legacy telecommunication technologies.

Turning now to FIG. 1, there is illustrated an example, non-limiting system 100 that can facilitate measuring calculated time differences at a known location in accordance with the subject disclosure. Included in system 100 is a femtocell access point 102 that can be configured to provide a known location. Femtocell access point 102 can also be configured to detect when mobile device 104 is in range of the femtocell access point 102. Macrocells 106, 108, and 110 can have overlapping coverage areas 112, 114, and 116. Mobile device 104, which can be located in an area that is covered by macrocells 106, 108, and 110, can send and receive communication signals from each of the three macrocells.

It is to be appreciated that while FIG. 1 shows mobile device 104 within range of three macrocells, any number of macrocells is possible depending on the physical location. In some geographic locations, the number of macrocells could be as high as 10-15. Additionally, it is also to be appreciated that the reference to “macrocells” as used herein is an example of a cellular base station. A person of ordinary skill in the art would appreciate that any suitable cellular base station with a range of transmitting powers, including, but not limited to microcells and picocells could be employed as well.

Femtocell access point 102 can be configured to detect when mobile device 104 is within range of the femtocell access point 102. Femtocells can have a limited range, perhaps approximately 10-12 m in accordance with an example embodiment. Femtocell access point 102 can determine that mobile device 104 is near when it can transmit to and receive a signal from mobile device 104.

Macrocells 106, 108, and 110, can be configured to send out regular signals that can be received by mobile devices in range of macrocells. The signals can be received and processed by the mobile devices independent of a call. In this way, the network based locating system can operate using network overhead resources that can be cheaper and less resource intensive than communications sent over an application layer datalink.

The signals can contain code that can identify the macrocell that sent the signal. Each macrocell can have a unique signature, so that the signal can be positively identified as belonging to a specific macrocell. The mobile device 104 can analyze the signals when they are received, and compare the times of receipt. When signals arrive at different times that can indicate that the signals had different distances to travel, and thus the relative distances of the macrocells can be determined. These time differences are the calculated time differences and there can be an calculated time difference for each macrocell within range of mobile device 104.

In the exemplary system 100 shown in FIG. 1, there can be three calculated time differences for signals sent between macrocells 106, 108, 110, and mobile device 104. Mobile device 104 can report back the calculated time differences in a Radio Resource Control (RRC) measurement report that includes the primary scrambling code of the macrocell, strength of the signal, and the timing measurement. Since macrocells 106, 108, and 110 are unsynchronized however, the calculated time differences, if used in multilateration or triangulation to locate mobile device 104, would yield a result that would be accurate to between +/−200-500 m. However, using the known location of the femtocell access point 102, the calculated time differences can be calibrated (See FIG. 2), to much more accurately locate a mobile device (See FIGS. 3 and 4).

Turning now to FIG. 2, an example, non-limiting embodiment of a system that can calibrate timing based location solutions and create a reference time difference is shown. Included in system 200 is a mobile device 202 that can be provided to receive signals from macrocell 206 and measure the calculated time difference between macrocell 206 and mobile device 202. Femtocell access point 204 can be provided to provide a known location of the mobile device 202 to core network 210. Communications between the femtocell access point 204 and the core network 210 can be facilitated by a femtocell controller 208. Within the core network 210 can be an identification component 212 configured to determine when mobile device 202 is within range of the femtocell access point 204. A collection component 214 can also be provided to collect the location information from the femtocell access point 204, and the calculated time differences from the mobile device 202. A calibration component 216 can be provided to calculate a reference time difference for the macrocell 206 in using the location information and the calculated time differences.

It is to be appreciated that while FIG. 2 shows one macrocell, any number of macrocells is possible. Indeed, collection component 214 can receive from mobile device 202 as many as 10-15 calculated time differences corresponding to as many discrete macrocells.

Femtocell access point 204 can communicate with the femtocell controller 208 over an Iuh interface on a broadband network. The femtocell controller 208 can then forward information to the core network 210 directly.

Identification component 212 can be configured to determine that the mobile device 202 is within range of the femtocell access point 204. Since femtocell access point 204 may have a limited range, perhaps 10-12 m, femtocell access point 204 can receive and transmit signals to and from the mobile device 202 within a defined range around the femtocell access point 204. Femtocell access point 204 can forward a notification that mobile device 202 is present to the core network 210 via the femtocell controller 208. Identification component 212 can receive the notification that mobile device 202 is within range of the femtocell access point 204, and upon receipt of that notification, collection component 214 can begin collecting the calculated time differences from mobile device 202.

The identification component 212 can also receive from the femtocell access point 204 information that identifies the mobile device, such as the IMSI and MSISDN numbers associated with the mobile device, as well as other identifying information.

Collection component 214 can be configured to collect the location information that corresponds to the femtocell access point 204. In one embodiment, the location information can be provided by the femtocell access point 204 via the femtocell controller 208 over the Iuh interface. In this embodiment, the location information can be obtained by a GPS receiver on the femtocell access point 204. The GPS receiver can continuously provide location information, or can provide new location information if the location of the femtocell access point changes.

In another embodiment, the collection component 214 can collect the location information corresponding to the femtocell access point 204 from a known location of the femtocell access point 204 that is in a data store in the core network 210. To collect location information corresponding to the correct femtocell access point, identification component can receive information identifying the femtocell access point 204 via the femtocell controller 208, and use that information to retrieve the correct location of the femtocell access point 204.

Collection component 214 can obtain the calculated time differences from mobile device 202 in the form of an RRC measurement report. The RRC measurement report can include the primary scrambling code of the macrocell, strength of the signal, and the timing measurement. The primary scrambling code can identify the macrocell. Upon determining the identity of macrocell 206, collection component 214 can also obtain the location of macrocell 206 from a data store in the core network.

In one embodiment, collection component 214 can retrieve the RRC measurement report from mobile device 202 via a macrocell, using network overhead resources. In an alternative embodiment, collection component 214 can retrieve the RRC measurement report from mobile device 202 through the Iuh interface on the femtocell access point 204 and via the femtocell controller 208.

Once the location information for the femtocell access point 204 and the macrocells (of which macrocell 206 can be one of many), and the calculated time differences as measured by mobile device 202 have been received by collection component 214, calibration component 216 can calculate a reference time difference used to calibrate the macrocells.

The reference time differences that calibration component 216 can be configured to calculate are a measure of the relative timing differences that different macrocells have with respect to a baseline time. The reference time differences can be used to compensate for the asynchronicities inherent in UMTS and Wideband Code Division Multiple Access (WCDMA) networks so that network based locating systems utilizing calculated time differences will yield more accurate results.

With the known locations of mobile device 202 (e.g., accurate to within the +/−10-12 m range of the femtocell access point 204) and the macrocells, the calibration component 216 can determine the distance between the macrocells and the mobile device. Since signals between the macrocells and mobile device 202 travel at a constant speed c, the expected time it takes for a signal from each macrocell to arrive at mobile device 202 can be determined. Calibration component 216 can then use the expected time to determine the deviation of the signals from a baseline. This deviation is the reference time difference which can compensate for the asynchronous signals from the macrocells. The reference time differences can then be used to accurately locate another mobile device, shown in more detail in FIGS. 3 and 4.

In an embodiment, collection component 214 can be configured to obtain multiple calculated time differences for the same macrocells over a period of time. Collection component 214 can obtain many calculated time differences between each macrocell and the mobile device 202 for a defined period of time, or continuously. Since the mobile device 202 can move around within the range of the femtocell access point 204, averaging the calculated time differences for each macrocell will obtain a more accurate reference time difference, one that corresponds closer to the actual location of the femtocell access point 204.

The collection component 214 can also collect information that identifies the time at which calculated time differences were obtained, as well as the time at which location information for the femtocell access point 204 was collected. Femtocell access points 204 can be moved, and to calculate reference time differences, the location of the femtocell access point 204 should correspond to calculated time differences measured at that location. Time stamps on the RRC measurement reports and the location information from the femtocell access point ensure that the RRC measurement reports correspond to the location at which the measurement reports were measured.

The identification component 212 can also receive an indication from the femtocell access point 204 via femtocell controller 208 when mobile device 202 is no longer within communication range of femtocell access point 204. Upon receiving this indication, identification component 212 can issue a notification to collection component 214 to stop retrieving the RRC measurement reports from the mobile device 202. When mobile device 202 is outside the range of the femtocell access point 204 inaccurate reference time differences will be obtained.

Turning now to FIG. 3, an example, non-limiting embodiment of a system 300 that can measure calculated time differences at a mobile device is shown. Mobile device 302 can be provided to measure calculated time differences from macrocells 304 and 306. Macrocells 304 and 306 can have overlapping ranges 308 and 310 respectively. Mobile device 302 can measure the calculated time differences between mobile device 302 and whichever macrocell ranges mobile device 302 is located in.

It is to be appreciated that while FIG. 3 shows mobile device 302 within range of two macrocells, any number of macrocells is possible depending on the physical location. In urban, or semi urban areas, the number of macrocells could be as high as 10-15.

Mobile device 302 can be located outside the range of a femtocell access point. Mobile device 302 can have formerly been within range of a femtocell access point, when reference time differences for macrocells 304 and 306 were determined, or mobile device 302 might have never been within range of a femtocell access point, and the reference time differences may have been calculated using calculated time differences from a different mobile device.

Macrocells 304 and 306 can be configured to send out regular signals that can be received by mobile devices in range of macrocells. The signals can be received and processed by the mobile devices independent of a call. In this way, the network based locating system can operate using network overhead resources that can be cheaper and less resource intensive than communications sent over an application layer data link.

The signals can contain code that can identify the macrocell that sent the signal. Each macrocell can have a unique signature, so that the signal can be positively identified as belonging to a particular macrocell. The mobile device 302 can analyze the signals when received, and compare the times of receipt. When signals arrive at different times that can indicate that the signals had different distances to travel, and thus the relative distances of the macrocells can be determined. These time differences are the calculated time differences and there can be an calculated time difference for each macrocell within range of mobile device 302.

Turning now to FIG. 4, an example, non-limiting embodiment of a system 400 that can locate a mobile device is shown. A mobile device 402 that has determined calculated time differences from macrocells 404 and 406 can forward the calculated time differences to core network 408. Collection component 410 can receive the calculated time differences and the locations of the macrocells 404 and 406, and can forward the information to location component 412. Location component 412 can use the information collected as well as the reference time differences that correspond to the macrocells to determine the location of mobile device 402.

Collection component 410 can obtain the calculated time differences from mobile device 402 in the form of an RRC measurement report. The RRC measurement report can include the primary scrambling code of the macrocell, strength of the signal, and the timing measurement. The primary scrambling code can identify the macrocell. Upon determining the identity of macrocells 404 and 406, collection component 410 can obtain the location of macrocells 404 and 406 from a data store in the core network. Collection component 410 can retrieve the RRC measurement report from mobile device 402 via one of the macrocells, using network overhead resources.

The reference time differences can show the relative signal delay for each of the macrocells. Subtracting the reference time differences from the calculated time differences can yield actual time differences for signals sent between the macrocells and the mobile device 402. With the actual time difference and the known locations of macrocells 404 and 406, it can be possible to use multilateration or hyperbolic positioning which uses time difference on arrival (TDOA) equations to solve for the location of mobile device 402.

Location component 412 can determine the position of any mobile device to within a defined range, perhaps +/−10-12 m, which corresponds to the accuracy in determining the position of the mobile device that was used to calibrate the macrocells—the range of the femtocell access point can be, for example, +/−10-12 m, and the mobile device can be anywhere in that area. During the calibration phase, as more calculated time differences are measured over time and averaged, the position of the mobile device can move nearer the center of the femtocell access point, and the reference time differences can become more accurate, leading to greater than +/−10-12 m accuracy.

FIGS. 5 and 6 illustrate methods and/or flow diagrams in accordance with the disclosed subject matter. For simplicity of explanation, the methods are depicted and described as a series of acts. It is to be understood and appreciated that the subject innovation is not limited by the acts illustrated and/or by the order of acts, for example acts can occur in various orders and/or concurrently, and with other acts not presented and described herein. Furthermore, not all illustrated acts may be required to implement the methods in accordance with the disclosed subject matter. In addition, those skilled in the art will understand and appreciate that the methods could alternatively be represented as a series of interrelated states via a state diagram or events. Additionally, it should be further appreciated that the methods disclosed hereinafter and throughout this specification are capable of being stored on an article of manufacture to facilitate transporting and transferring such methods to computers. The term article of manufacture, as used herein, is intended to encompass a computer program accessible from any computer-readable device or computer-readable storage/communications media.

Referring now to FIG. 5, illustrated is an example, non-limiting process for calibrating timing based location systems in accordance with the subject disclosure. At 500, a mobile device in range of a femtocell access point can be identified. The femtocell can detect when a mobile device is in range by receiving and transmitting signals between the femtocell and the mobile device. The femtocell access point can send an indication to the core network via an Iuh interface to a femtocell controller on the core network. The femtocell access point can also forward identifying information about the mobile device to the core network, including but not limited to such information as the IMSI and MSISDN numbers associated with the mobile device.

At 510, location information from the femtocell access point can be obtained. In one embodiment, the location information can be provided by the femtocell access point via the femtocell controller over the Iuh interface. In this embodiment, the location information can be obtained by a GPS receiver on the femtocell access point that provides the latitude and longitude of the femtocell access point. The GPS receiver can continuously provide location information, or can provide new location information if the location of the femtocell access point changes.

In another embodiment, the location information can be collected from a known location of the femtocell access point from a data store in the core network. To collect location information corresponding to the correct femtocell, information identifying the femtocell access point can be received, and that information can be used to the retrieve the on record location of the femtocell access point.

At 520, calculated time differences between the mobile device and macrocells within range of the mobile device can be received. The macrocells can periodically send out signals that can be received by mobile devices in range of the macrocells. The signals can contain code that can identify the macrocell that sent the signal. Each macrocell can have a unique signature, so that the signal can be positively identified as belonging to a specific macrocell. The mobile device can analyze the signals when they are received, and compare the times of receipt. When signals arrive at different times that can indicate that the signals had different distances to travel, and thus the relative distances of the macrocells can be determined. These time differences are the calculated time differences and there can be an calculated time difference for each macrocell within range of mobile device.

The calculated time differences can be collected in the form of an RRC measurement report. The RRC measurement report can include the primary scrambling code of the macrocell, strength of the signal, and the timing measurement. The primary scrambling code can identify the macrocell. Upon determining the identity of macrocell, the location of macrocell can be retrieved from a data store stored in the core network.

At 530, a reference time difference for each of the macrocells can be calculated using the location of the femtocell access point, the location of the macrocells, and the calculated time difference. The reference time differences are a measure of the relative timing differences that different macrocells have with respect to a baseline time. The reference time differences can be used to compensate for the asynchronicities inherent in UMTS and WCDMA networks so that network based locating systems utilizing calculated time differences will yield results that are more accurate.

With the known locations of mobile device and the macrocells, the distance between the macrocells and the mobile device can be determined. Since signals between the macrocells and mobile device travel at a constant speed c, the expected time it takes for a signal from each macrocell to arrive at the mobile device can be determined. The expected time can be compared to the calculated time difference to determine the deviation of the signals from a baseline time. This deviation is the reference time difference, which can compensate for the asynchronous signals from the macrocells. The reference time differences can then be used to locate another mobile device.

Referring now to FIG. 6, illustrated is an example, non-limiting method for locating mobile devices in accordance with the subject disclosure. At 600, a reference time difference can be calculated by comparing location information about the femtocell access point and the macrocells, as well as the calculated time differences. At 610, calculated time differences between the macrocells and another mobile device can be received. At 620 the reference time differences that correspond to the macrocells can be used, as well as the calculated time differences at the other mobile device to solve for a location of the other mobile device. Subtracting the reference time differences from the calculated time differences can yield actual time differences for signals sent between the macrocells and the mobile device. Using the actual time difference with the known locations of macrocells, it can be possible to use the method of multilateration or hyperbolic positioning which uses time difference on arrival (TDOA) equations to solve for the location of mobile device.

Referring now to FIG. 7, there is illustrated a block diagram of a UE 700 in accordance with the innovation. The UE 700 can include a processor 702 for controlling all onboard operations and processes. A memory 704 can interface to the processor 702 for storage of data and one or more applications 706 being executed by the processor 702. A communications component 708 can interface to the processor 702 to facilitate wired/wireless communication with external systems (e.g., femtocell and macro cell). The communications component 708 interfaces to a location component 709 (e.g., GPS transceiver) that can facilitate location detection of the UE 700. Note that the location component 709 can also be included as part of the communications component 708.

The UE 700 can include a display 710 for displaying content downloaded and/or for displaying text information related to operating and using the device features. A serial I/O interface 712 is provided in communication with the processor 702 to facilitate serial communication (e.g., USB, and/or IEEE 1394) via a hardwire connection. Audio capabilities are provided with an audio I/O component 714, which can include a speaker for the output of audio signals related to, for example, recorded data or telephony voice data, and a microphone for inputting voice signals for recording and/or telephone conversations. In addition, sensor(s) 730 can be included to detect usage activity of the UE 700 and/or to detect position, motion and/or orientation of the UE 700.

The UE 700 can include a slot interface 716 for accommodating a subscriber identity module (SIM) 718. Firmware 720 is also provided to store and provide to the processor 702 startup and operational data. The UE 700 can also include an image capture component 722 such as a camera and/or a video decoder 724 for decoding encoded multimedia content. The UE 700 can also include a power source 726 in the form of batteries, which interfaces to an external power system or charging equipment via a power I/O component 728. In addition, the UE 700 can be substantially similar to and include functionality associated with mobile devices 104, 202, 302, and 402 described herein.

Now turning to FIG. 8, such figure depicts an example GSM/GPRS/IP multimedia network architecture 800 that can employ the disclosed communication architecture. In particular, the GSM/GPRS/IP multimedia network architecture 800 includes a GSM core network 801, a GPRS network 830 and an IP multimedia network 838. The GSM core network 801 includes a Mobile Station (MS) 802, at least one Base Transceiver Station (BTS) 804 and a Base Station Controller (BSC) 806. The MS 802 is physical equipment or Mobile Equipment (ME), such as a mobile phone or a laptop computer that is used by mobile subscribers, with a Subscriber identity Module (SIM). The SIM includes an International Mobile Subscriber Identity (IMSI), which is a unique identifier of a subscriber. The MS 802 includes an embedded client 802 a that receives and processes messages received by the MS 802. The embedded client 802 a can be implemented in JAVA or another programming language and is discuss more fully below. It can be appreciated that MS 802 can be substantially similar to mobile devices 104, 202, 302, 402, and UE 700, and can include functionality described with respect to mobile devices 104, 202, 302, and 402 in systems 100-400 and 700.

The embedded client 802 a communicates with an application 802 b (e.g., application(s) 202) that provides services and/or information to an end user. Additionally or alternately, the MS 802 and a device 802 c can be enabled to communicate via a short-range wireless communication link, such as BLUETOOTH®. As one of ordinary skill in the art would recognize, there can be an endless number of devices 802 c that use the SIM within the MS 802 to provide services, information, data, audio, video, etc. to end users.

The BTS 804 is physical equipment, such as a radio tower, that enables a radio interface to communicate with the MS 802. Each BTS can serve more than one MS. The BSC 806 manages radio resources, including the BTS. Moreover, the BSC 806 can be substantially similar to macrocells 106, 108, and 110 and etc., disclosed herein. The BSC and BTS components, in combination, are generally referred to as a base station (BSS) or radio access network (RAN) 803.

The GSM core network 801 also includes a Mobile Switching Center (MSC) 808, a Gateway Mobile Switching Center (GMSC) 810, a Home Location Register (HLR) 812, Visitor Location Register (VLR) 814, an Authentication Center (AuC) 816, and an Equipment Identity Register (EIR) 818. The MSC 808 performs a switching function for the network. The MSC also performs other functions, such as registration, authentication, location updating, handovers, and call routing. The GMSC 810 provides a gateway between the GSM network and other networks, such as an Integrated Services Digital Network (ISDN) or Public Switched Telephone Networks (PSTNs) 820. In other words, the GMSC 810 provides interworking functionality with external networks.

The HLR 812 is a database or component(s) that comprises administrative information regarding each subscriber registered in a corresponding GSM network. The HLR 812 also includes the current location of each MS. The VLR 814 is a database or component(s) that contains selected administrative information from the HLR 812. The VLR contains information necessary for call control and provision of subscribed services for each MS currently located in a geographical area controlled by the VLR. The HLR 812 and the VLR 814, together with the MSC 808, provide the call routing and roaming capabilities of GSM. The AuC 816 provides the parameters needed for authentication and encryption functions. Such parameters allow verification of a subscriber's identity. The EIR 818 stores security-sensitive information about the mobile equipment.

A Short Message Service Center (SMSC) 809 allows one-to-one Short Message Service (SMS) messages to be sent to/from the MS 802. A Push Proxy Gateway (PPG) 811 is used to “push” (e.g., send without a synchronous request) content to the MS 802. The PPG 811 acts as a proxy between wired and wireless networks to facilitate pushing of data to the MS 802. A Short Message Peer to Peer (SMPP) protocol router 813 is provided to convert SMS-based SMPP messages to cell broadcast messages. SMPP is a protocol for exchanging SMS messages between SMS peer entities such as short message service centers. It is often used to allow third parties, e.g., content suppliers such as news organizations, to submit bulk messages.

To gain access to GSM services, such as speech, data, and short message service (SMS), the MS first registers with the network to indicate its current location by performing a location update and IMSI attach procedure. The MS 802 sends a location update including its current location information to the MSC/VLR, via the BTS 804 and the BSC 806. The location information is then sent to the MS's HLR. The HLR is updated with the location information received from the MSC/VLR. The location update also is performed when the MS moves to a new location area. In one aspect, the location update is periodically performed to update the database as location-updating events occur.

The GPRS network 830 is logically implemented on the GSM core network architecture by introducing two packet-switching network nodes, a serving GPRS support node (SGSN) 832, a cell broadcast and a Gateway GPRS support node (GGSN) 834. The SGSN 832 is at the same hierarchical level as the MSC 808 in the GSM network. The SGSN controls the connection between the GPRS network and the MS 802. The SGSN also keeps track of individual MS's locations, security functions, and access controls.

A Cell Broadcast Center (CBC) 833 communicates cell broadcast messages that are typically delivered to multiple users in a specified area. Cell Broadcast is one-to-many geographically focused service. It enables messages to be communicated to multiple mobile phone customers who are located within a given part of its network coverage area at the time the message is broadcast.

The GGSN 834 provides a gateway between the GPRS network and a public packet network (PDN) or other IP networks 836. That is, the GGSN provides interworking functionality with external networks, and sets up a logical link to the MS through the SGSN. When packet-switched data leaves the GPRS network, it is transferred to an external TCP-IP network 836, such as an X.25 network or the Internet. In order to access GPRS services, the MS first attaches itself to the GPRS network by performing an attach procedure. The MS then activates a packet data protocol (PDP) context, thus activating a packet communication session between the MS, the SGSN, and the GGSN. In a GSM/GPRS network, GPRS services and GSM services can be used in parallel. A GPRS network 830 can be designed to operate in three network operation modes (NOM1, NOM2 and NOM3). A network operation mode of a GPRS network is indicated by a parameter in system information messages transmitted within a cell. The system information messages dictates a MS where to listen for paging messages and how signal towards the network. The network operation mode represents the capabilities of the GPRS network.

The IP multimedia network 838 was introduced with 3GPP Release 5, and includes an IP multimedia subsystem (IMS) 840 to provide rich multimedia services to end users. A representative set of the network entities within the IMS 840 are a call/session control function (CSCF), a media gateway control function (MGCF) 846, a media gateway (MGW) 848, and a master subscriber database, called a home subscriber server (HSS) 850. The HSS 850 can be common to the GSM network 801, the GPRS network 830 as well as the IP multimedia network 838.

The IP multimedia system 840 is built around the call/session control function, of which there are three types: an interrogating CSCF (I-CSCF) 843, a proxy CSCF (P-CSCF) 842, and a serving CSCF (S-CSCF) 844. The P-CSCF 842 is the MS's first point of contact with the IMS 840. The P-CSCF 842 forwards session initiation protocol (SIP) messages received from the MS to an SIP server in a home network (and vice versa) of the MS. The P-CSCF 842 can also modify an outgoing request according to a set of rules defined by the network operator (for example, address analysis and potential modification).

The I-CSCF 843 forms an entrance to a home network and hides the inner topology of the home network from other networks and provides flexibility for selecting an S-CSCF. The I-CSCF 843 can contact a subscriber location function (SLF) 845 to determine which HSS 850 to use for the particular subscriber, if multiple HSS's 850 are present. The S-CSCF 844 performs the session control services for the MS 802. This includes routing originating sessions to external networks and routing terminating sessions to visited networks. The S-CSCF 844 also decides whether an application server (AS) 852 is required to receive information on an incoming SIP session request to ensure appropriate service handling. This decision is based on information received from the HSS 850 (or other sources, such as an application server 852). The AS 852 also communicates to a location server 856 (e.g., a Gateway Mobile Location Center (GMLC)) that provides a position (e.g., latitude/longitude coordinates) of the MS 802. The mobility management entity (MME) 858 provides authentication of a user by interacting with the HSS 850 in LTE networks.

The HSS 850 contains a subscriber profile and keeps track of which core network node is currently handling the subscriber. It also supports subscriber authentication and authorization functions (AAA). In networks with more than one HSS 850, a subscriber location function provides information on the HSS 850 that contains the profile of a given subscriber.

The MGCF 846 provides interworking functionality between SIP session control signaling from the IMS 840 and ISUP/BICC call control signaling from the external GSTN networks (not shown). It also controls the media gateway (MGW) 848 that provides user-plane interworking functionality (e.g., converting between AMR- and PCM-coded voice). The MGW 848 also communicates with a PSTN network 854 for TDM trunks. In addition, the MGCF 846 communicates with the PSTN network 854 for SS7 links.

Referring now to FIG. 9, there is illustrated a block diagram of a computer operable to execute the disclosed communication architecture. In order to provide additional context for various aspects of the subject specification, FIG. 9 and the following discussion are intended to provide a brief, general description of a suitable computing environment 900 in which the various aspects of the specification can be implemented. While the specification has been described above in the general context of computer-executable instructions that can run on one or more computers, those skilled in the art will recognize that the specification also can be implemented in combination with other program modules and/or as a combination of hardware and software.

Program modules can include routines, programs, components, data structures, etc., that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the inventive methods can be practiced with other computer system configurations, including single-processor or multiprocessor computer systems, minicomputers, mainframe computers, as well as personal computers, hand-held computing devices, microprocessor-based or programmable consumer electronics, and the like, each of which can be operatively coupled to one or more associated devices.

The illustrated aspects of the specification can also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote memory storage devices.

Computing devices can include a variety of media, which can include computer-readable storage media and/or communications media, which two terms are used herein differently from one another as follows. Computer-readable storage media can be any available storage media that can be accessed by the computer and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer-readable storage media can be implemented in connection with any method or technology for storage of information such as computer-readable instructions, program modules, structured data, or unstructured data. Computer-readable storage media can include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or other tangible and/or non-transitory media which can be used to store desired information. Computer-readable storage media can be accessed by one or more local or remote computing devices, e.g., via access requests, queries or other data retrieval protocols, for a variety of operations with respect to the information stored by the medium.

Communications media can embody computer-readable instructions, data structures, program modules or other structured or unstructured data in a data signal such as a modulated data signal, e.g., a carrier wave or other transport mechanism, and includes any information delivery or transport media. The term “modulated data signal” or signals refers to a signal that has one or more of its characteristics set or changed in such a manner as to encode information in one or more signals. By way of example, and not limitation, communication media include wired media, such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.

With reference again to FIG. 9, the example environment 900 for implementing various aspects of the specification includes a computer 902, the computer 902 including a processing unit 904, a system memory 906 and a system bus 908. The system bus 908 couples system components including, but not limited to, the system memory 906 to the processing unit 904. The processing unit 904 can be any of various commercially available processors. Dual microprocessors and other multi-processor architectures can also be employed as the processing unit 904.

The system bus 908 can be any of several types of bus structure that can further interconnect to a memory bus (with or without a memory controller), a peripheral bus, and a local bus using any of a variety of commercially available bus architectures. The system memory 906 includes read-only memory (ROM) 910 and random access memory (RAM) 912. A basic input/output system (BIOS) is stored in a non-volatile memory 910 such as ROM, EPROM, EEPROM, which BIOS contains the basic routines that help to transfer information between elements within the computer 902, such as during startup. The RAM 912 can also include a high-speed RAM such as static RAM for caching data.

The computer 902 further includes an internal hard disk drive (HDD) 914 (e.g., EIDE, SATA), which internal hard disk drive 914 can also be configured for external use in a suitable chassis (not shown), a magnetic floppy disk drive (FDD) 916, (e.g., to read from or write to a removable diskette 918) and an optical disk drive 920, (e.g., reading a CD-ROM disk 922 or, to read from or write to other high capacity optical media such as the DVD). The hard disk drive 914, magnetic disk drive 916 and optical disk drive 920 can be connected to the system bus 908 by a hard disk drive interface 924, a magnetic disk drive interface 926 and an optical drive interface 928, respectively. The interface 924 for external drive implementations includes at least one or both of Universal Serial Bus (USB) and IEEE 1394 interface technologies. Other external drive connection technologies are within contemplation of the subject specification.

The drives and their associated computer-readable storage media provide nonvolatile storage of data, data structures, computer-executable instructions, and so forth. For the computer 902, the drives and storage media accommodate the storage of any data in a suitable digital format. Although the description of computer-readable storage media above refers to a HDD, a removable magnetic diskette, and a removable optical media such as a CD or DVD, it should be appreciated by those skilled in the art that other types of storage media which are readable by a computer, such as zip drives, magnetic cassettes, flash memory cards, cartridges, and the like, can also be used in the example operating environment, and further, that any such storage media can contain computer-executable instructions for performing the methods of the specification.

A number of program modules can be stored in the drives and RAM 912, including an operating system 930, one or more application programs 932, other program modules 934 and program data 936. All or portions of the operating system, applications, modules, and/or data can also be cached in the RAM 912. It is appreciated that the specification can be implemented with various commercially available operating systems or combinations of operating systems.

A user can enter commands and information into the computer 902 through one or more wired/wireless input devices, e.g., a keyboard 938 and a pointing device, such as a mouse 940. Other input devices (not shown) can include a microphone, an IR remote control, a joystick, a game pad, a stylus pen, touch screen, or the like. These and other input devices are often connected to the processing unit 904 through an input device interface 942 that is coupled to the system bus 908, but can be connected by other interfaces, such as a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, etc.

A monitor 944 or other type of display device is also connected to the system bus 908 via an interface, such as a video adapter 946. In addition to the monitor 944, a computer can include other peripheral output devices (not shown), such as speakers, printers, etc.

The computer 902 can operate in a networked environment using logical connections via wired and/or wireless communications to one or more remote computers, such as a remote computer(s) 948. The remote computer(s) 948 can be a workstation, a server computer, a router, a personal computer, portable computer, microprocessor-based entertainment appliance, a peer device or other common network node, and can include many or all of the elements described relative to the computer 902, although, for purposes of brevity, only a memory/storage device 950 is illustrated. The logical connections depicted include wired/wireless connectivity to a local area network (LAN) 952 and/or larger networks, e.g., a wide area network (WAN) 954. Such LAN and WAN networking environments are commonplace in offices and companies, and facilitate enterprise-wide computer networks, such as intranets, all of which can connect to a global communications network, e.g., the Internet.

When used in a LAN networking environment, the computer 902 is connected to the local network 952 through a wired and/or wireless communication network interface or adapter 956. The adapter 956 can facilitate wired or wireless communication to the LAN 952, which can also include a wireless access point disposed thereon for communicating with the wireless adapter 956.

When used in a WAN networking environment, the computer 902 can include a modem 958, or is connected to a communications server on the WAN 954, or has other means for establishing communications over the WAN 954, such as by way of the Internet. The modem 958, which can be internal or external and a wired or wireless device, is connected to the system bus 908 via the serial port interface 942. In a networked environment, program modules depicted relative to the computer 902, or portions thereof, can be stored in the remote memory/storage device 950. It will be appreciated that the network connections shown are example and other means of establishing a communications link between the computers can be used.

The computer 902 is operable to communicate with any wireless devices or entities operatively disposed in wireless communication, e.g., a printer, scanner, desktop and/or portable computer, portable data assistant, communications satellite, any piece of equipment or location associated with a wirelessly detectable tag (e.g., a kiosk, news stand, restroom), and telephone. In an example embodiment, wireless communications can be facilitated, for example, using Wi-Fi, Bluetooth™, Zigbee, and other 802.XX wireless technologies. Thus, the communication can be a predefined structure as with a conventional network or simply an ad hoc communication between at least two devices.

Wi-Fi, or Wireless Fidelity, allows connection to the Internet from a couch at home, a bed in a hotel room, or a conference room at work, without wires. Wi-Fi is a wireless technology similar to that used in a cell phone that enables such devices, e.g., computers, to send and receive data indoors and out; anywhere within the range of a base station. Wi-Fi networks use radio technologies called IEEE 802.11(a, b, g, n etc.) to provide secure, reliable, fast wireless connectivity. A Wi-Fi network can be used to connect computers to each other, to the Internet, and to wired networks (which use IEEE 802.3 or Ethernet). Wi-Fi networks can operate in the unlicensed 2.4 and 5 GHz radio bands, at an 11 Mbps (802.11a), 54 Mbps (802.11b), or 150 Mbps (802.11n) data rate, for example, or with products that contain both bands (dual band), so the networks can provide real-world performance similar to wired Ethernet networks used in many homes and offices.

With respect to FIG. 10, in example embodiment 1000, femtocell AP 1010 can receive and transmit signal(s) (e.g., traffic and control signals) from and to wireless devices, access terminals, wireless ports and routers, etc., through a set of antennas 1069 ₁-1069 _(N). It should be appreciated that while antennas 1069 ₁-1069 _(N) are a part of communication platform 1025, which comprises electronic components and associated circuitry that provides for processing and manipulating of received signal(s) (e.g., a packet flow) and signal(s) (e.g., a broadcast control channel) to be transmitted. In an aspect, communication platform 1025 includes a transmitter/receiver (e.g., a transceiver) 1066 that can convert signal(s) from analog format to digital format upon reception, and from digital format to analog format upon transmission. In addition, receiver/transmitter 1066 can divide a single data stream into multiple, parallel data streams, or perform the reciprocal operation. Coupled to transceiver 1066 is a multiplexer/demultiplexer 1067 that facilitates manipulation of signal in time and frequency space. Electronic component 1067 can multiplex information (data/traffic and control/signaling) according to various multiplexing schemes such as time division multiplexing (TDM), frequency division multiplexing (FDM), orthogonal frequency division multiplexing (OFDM), code division multiplexing (CDM), space division multiplexing (SDM). In addition, mux/demux component 1067 can scramble and spread information (e.g., codes) according to substantially any code known in the art; e.g., Hadamard-Walsh codes, Baker codes, Kasami codes, polyphase codes, and so on. A modulator/demodulator 1068 is also a part of operational group 1025, and can modulate information according to multiple modulation techniques, such as frequency modulation, amplitude modulation (e.g., M-ary quadrature amplitude modulation (QAM), with M a positive integer), phase-shift keying (PSK), and the like.

FAP 1010 also includes a processor 1045 configured to confer functionality, at least partially, to substantially any electronic component in the femto access point 1010, in accordance with aspects of the subject disclosure. In particular, processor 1045 can facilitate FAP 1010 to implement configuration instructions received through communication platform 1025, which can include storing data in memory 1055. In addition, processor 1045 facilitates FAP 1010 to process data (e.g., symbols, bits, or chips) for multiplexing/demultiplexing, such as effecting direct and inverse fast Fourier transforms, selection of modulation rates, selection of data packet formats, inter-packet times, etc. Moreover, processor 1045 can manipulate antennas 1069 ₁-1069 _(N) to facilitate beamforming or selective radiation pattern formation, which can benefit specific locations (e.g., basement, home office . . . ) covered by FAP; and exploit substantially any other advantages associated with smart-antenna technology. Memory 1055 can store data structures, code instructions, system or device information like device identification codes (e.g., IMEI, MSISDN, serial number . . . ) and specification such as multimode capabilities; code sequences for scrambling; spreading and pilot transmission, floor plan configuration, access point deployment and frequency plans; and so on. Moreover, memory 1055 can store configuration information such as schedules and policies; FAP address(es) or geographical indicator(s); access lists (e.g., white lists); license(s) for utilization of add-features for FAP 1010, and so forth. In one example, data store 206 can be implemented in memory 1055.

In embodiment 1000, processor 1045 is coupled to the memory 1055 in order to store and retrieve information necessary to operate and/or confer functionality to communication platform 1025, broadband network interface 1035 (e.g., a broadband modem), and other operational components (e.g., multimode chipset(s), power supply sources, . . . , not shown) that support femto access point 1010.

As it employed in the subject specification, the term “processor” can refer to substantially any computing processing unit or device comprising, but not limited to comprising, single-core processors; single-processors with software multithread execution capability; multi-core processors; multi-core processors with software multithread execution capability; multi-core processors with hardware multithread technology; parallel platforms; and parallel platforms with distributed shared memory. Additionally, a processor can refer to an integrated circuit, an application specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic controller (PLC), a complex programmable logic device (CPLD), a discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. Processors can exploit nano-scale architectures such as, but not limited to, molecular and quantum-dot based transistors, switches and gates, in order to optimize space usage or enhance performance of user equipment. A processor may also be implemented as a combination of computing processing units.

As used in this application, the terms “component,” “system,” “interface,” or the like are generally intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution or an entity related to an operational machine with one or more specific functionalities. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a controller and the controller can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers. As another example, an interface can include I/O components as well as associated processor, application, and/or API components.

In the subject specification, terms such as “data store,” data storage,” “database,” “cache,” and substantially any other information storage component relevant to operation and functionality of a component, refer to “memory components,” or entities embodied in a “memory” or components comprising the memory. It will be appreciated that the memory components, or computer-readable storage media, described herein can be either volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory. By way of illustration, and not limitation, nonvolatile memory can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM), which acts as external cache memory. By way of illustration and not limitation, RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM). Additionally, the disclosed memory components of systems or methods herein are intended to comprise, without being limited to comprising, these and any other suitable types of memory.

What has been described above includes examples of the present specification. It is, of course, not possible to describe every conceivable combination of components or methods for purposes of describing the present specification, but one of ordinary skill in the art may recognize that many further combinations and permutations of the present specification are possible. Accordingly, the present specification is intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of the appended claims. Furthermore, to the extent that the term “includes” is used in either the detailed description or the claims, such term is intended to be inclusive in a manner similar to the term “comprising” as “comprising” is interpreted when employed as a transitional word in a claim. 

What is claimed is:
 1. A method, comprising: identifying a first mobile device in range of a femtocell access point; obtaining location information from the femtocell access point; receiving calculated time differences between the first mobile device and macrocells in range of the first mobile device; and calculating reference time differences for the macrocells as a function of the location information and the calculated time differences.
 2. The method of claim 1, further comprising: determining a location of a second mobile device as a function of the reference time differences.
 3. The method of claim 1, further comprising: receiving calculated time differences of signals received at a second mobile device; and determining a location of the second mobile device in response to the calculated time differences of signals and the reference time differences of the macrocells.
 4. The method of claim 1, wherein the calculating the reference time differences for the macrocells further comprises comparing the location information from the femtocell access point and locations of the macrocells.
 5. The method of claim 1, wherein the obtaining the location information from the femtocell access point further comprises receiving the location information over an Iuh interface.
 6. The method of claim 1, wherein the receiving the calculated time differences between the first mobile device and the macrocells further comprises receiving multiple calculated time differences over a period of time.
 7. The method of claim 6, further comprising averaging the calculated time differences, and recalculating the reference time differences.
 8. The method of claim 6, wherein the receiving the calculated time differences further comprises receiving a primary scrambling code that identifies a macrocell and an indication of signal strength.
 9. The method of claim 1, wherein the obtaining the location information from the femtocell access point further comprises collecting a timestamp that corresponds to the location information.
 10. A system, comprising: an identification component configured to determine that a first mobile device is within range of a femtocell access point; a collection component configured to obtain location information from the femtocell access point and calculated time differences between the first mobile device and macrocells in range of the first mobile device; and a calibration component configured to calculate reference time differences for the macrocells using the calculated time differences and the location information.
 11. The system of claim 10, wherein the collection component is further configured to collect calculated time differences of signals between a second mobile device and the macrocells.
 12. The system of claim 11, further comprising a location component configured to determine a location of the second mobile device in response to the calculated time differences of signals for the second mobile device and the reference time differences.
 13. The system of claim 10, wherein the calibration component is further configured to calculate the reference time differences in response to locations of the macrocells.
 14. The system of claim 10, wherein the collection component is further configured to obtain location information from the femtocell access point via a femtocell controller.
 15. The system of claim 10, wherein the collection component is further configured to obtain the calculated time differences from the first mobile device via network overhead resources.
 16. The system of claim 10, wherein the collection component is further configured to obtain multiple calculated time differences between the first mobile device and macrocells periodically over a period of time and the calibration component is further configured to average the multiple calculated time differences to calculate new reference time differences.
 17. The system of claim 10, wherein the collection component is further configured to obtain primary scrambling codes that identify the macrocells that correspond to the calculated time differences.
 18. The system of claim 10, wherein the identification component is further configured to issue a notification that the first mobile device is not within range of the femtocell access point.
 19. The system of claim 18, wherein the collection component is further configured to cease collecting calculated time differences from the first mobile device in response to the notification.
 20. A computer-readable storage medium having stored thereon computer-executable instructions that, in response to execution, cause a computing system to perform operations, comprising: identifying a first mobile device in range of a femtocell access point; obtaining location information from the femtocell access point; receiving calculated time differences between the first mobile device and macrocells in range of the first mobile device; and calculating reference time differences for the macrocells based on the location information and the calculated time differences. 